package com.ctshk.rpc.localfun.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Description 当地玩乐-产品中心
 * @Author wansi <gaylen15527491065@yeah.net>
 * @Date 2021/3/24
 */
@Data
@ApiModel(value="LocalFunProductListDTO对象", description="产品列表")
public class LocalFunProductListDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id",example = "1349663166214320220")
    private Long id;

    @ApiModelProperty(value = "产品编号")
    private String productCode;

    private LocalDateTime gmtCreate;

    private LocalDateTime gmtModified;

    @ApiModelProperty(value = "产品来源(1 API ,2 手动录入)")
    private Integer sourceType;

    @ApiModelProperty(value = "所属城市")
    private Long cityId;

    @ApiModelProperty(value = "城市名称")
    private String cityName;

    @ApiModelProperty(value = "玩乐产品ID")
    private Long funType;

    @ApiModelProperty(value = "玩乐产品名称")
    private String funName;

    @ApiModelProperty(value = "产品名称")
    private String name;

    @ApiModelProperty(value = "供应商ID")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "负责人ID")
    private Long chargeUserId;

    @ApiModelProperty(value = "负责人名称")
    private String chargeUser;

    @ApiModelProperty(value = "是否推荐(0 否 ,1 是)")
    private Integer isRecommend;

    @ApiModelProperty(value = "是否推荐(0 否 ,1 是)")
    private String isRecommendDesc;

    @ApiModelProperty(value = "适用人群ID")
    private Long intendedUserId;

    @ApiModelProperty(value = "适用人群")
    private String intendedUser;

    @ApiModelProperty(value = "状态(0 未上架,1 已上架,2 全部)")
    private Integer status;

    @ApiModelProperty(value = "状态(0 未上架,1 已上架,2 全部)")
    private String statusDesc;

    @ApiModelProperty(value = "使用有效期类型(1 固定天数 ,2 指定日期区间)")
    private Integer vaildType;

    @ApiModelProperty(value = "几日有效")
    private Double vaildDay;

    @ApiModelProperty(value = "有效期起始")
    private LocalDateTime vaildDayBegin;

    @ApiModelProperty(value = "有效期截至")
    private LocalDateTime vaildDayEnd;

    @ApiModelProperty(value = "是否允许自由行打包(1 允许,2 不允许,3 只限打包)")
    private Integer allowPackage;

    @ApiModelProperty(value = "门票主题")
    private String themeJson;

    @ApiModelProperty(value = "产品图片JSON")
    private String photosJson;

    @ApiModelProperty(value = "封面图地址")
    private String coverImage;

    @ApiModelProperty(value = "产品介绍")
    private String productIntroduces;

    @ApiModelProperty(value = "入园须知")
    private String admissionNotes;

    @ApiModelProperty(value = "售卖状态")
    private Integer saleStatus;

    @ApiModelProperty(value = "开售时间类型(1 立即开售,2 定时开售)")
    private Integer startSaleTimeType;

    @ApiModelProperty(value ="开售时间起始")
    private LocalDateTime startSaleTimeBegin;

    @ApiModelProperty(value = "开售时间结束")
    private LocalDateTime startSaleTimeEnd;

    @ApiModelProperty(value = "是否需要二次确认")
    private Integer needDoubleCheck;

    @ApiModelProperty(value = "预订退改须知")
    private String customerNotice;

    @ApiModelProperty(value = "预订后是否可退")
    private Integer allowRefund;

    @ApiModelProperty(value = "是否可申请退")
    private Integer allowApplyRefund;

    @ApiModelProperty(value = "预订服务费")
    private String reserveCharge;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "景点地址")
    private String scenicLocation;

    @ApiModelProperty(value = "景点等级")
    private String scenicLevel;

    @ApiModelProperty(value = "景点图片")
    private String scenicPhotosJson;

    @ApiModelProperty(value = "中旅退改服务费")
    private String ctsCharge;
}
